package com.wgts.wgts.dagger.module;

import com.wgts.wgts.dagger.scope.FragmentScope;
import com.wgts.wgts.mvp.model.IWgtsTaskLobbyFragmentModel;
import com.wgts.wgts.mvp.model.imp.WgtsTaskLobbyFragmentModel;
import com.wgts.wgts.mvp.presenter.IWgtsTaskLobbyFragmentPresenter;
import com.wgts.wgts.mvp.presenter.imp.WgtsTaskLobbyFragmentPresenter;
import com.wgts.wgts.mvp.view.IWgtsTaskLobbyFragmentView;
import com.wgts.wgts.netmodle.NetService;

import dagger.Module;
import dagger.Provides;

/*
 *
 *
 */
@Module
public class WgtsTaskLobbyFragmentModule {
    private IWgtsTaskLobbyFragmentView view;

    public WgtsTaskLobbyFragmentModule(IWgtsTaskLobbyFragmentView view) {
        this.view = view;
    }

    @FragmentScope
    @Provides
    public IWgtsTaskLobbyFragmentView provideView(){
        return view;
    }

    @FragmentScope
    @Provides
    public IWgtsTaskLobbyFragmentModel provideModel(NetService netService){
        return new WgtsTaskLobbyFragmentModel(netService);
    }

    @FragmentScope
    @Provides
    public IWgtsTaskLobbyFragmentPresenter providePresenter(IWgtsTaskLobbyFragmentView view, IWgtsTaskLobbyFragmentModel model){
        return new WgtsTaskLobbyFragmentPresenter(view, model);
    }

}
